#include<stdio.h>
#include<iostream>
#include<cstring>
long long hx,hy,bx,by;
using namespace std;
int main(){
	cin>>bx>>by>>hx>>hy;
	by+=1;bx+=1;
	long long map[by][bx]; memset(map,0,sizeof(map));
	bool mapb[by][bx]; memset(mapb,0,sizeof(mapb));
	mapb[hy][hx]=mapb[hy+2][hx-1]=mapb[hy+2][hx+1]=mapb[hy+1][hx-2]=mapb[hy+1][hx+2]=mapb[hy-1][hx-2]=mapb[hy-1][hx+2]=mapb[hy-2][hx-1]=mapb[hy-2][hx+1]=1;
	for(int i=1;i<by;i++) map[i][1]=1;
	for(int j=1;j<bx;j++) map[1][j]=1;map[0][1]=1;
	
	//hy+=1;hx+=1;
	//map[hy][hx]=map[hy+2][hx-1]=map[hy+2][hx+1]=map[hy+1][hx-2]=map[hy+1][hx+2]=map[hy-1][hx-2]=map[hy-1][hx+2]=map[hy-2][hx-1]=map[hy-2][hx+1]=-1;
	for(int i=1;i<by;i++){
		for(int j=1;j<bx;j++){
			if(mapb[i][j]) continue; 
			map[i][j]=map[i-1][j]+map[i][j-1];
		}
	}
	for(int i=1;i<by;i++){
		for(int j=1;j<bx;j++){
			cout<<map[i][j]<<" ";
		}
		cout<<"\n";
	}
	cout<<map[by-1][bx-1];
	
		return 0;
}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	/*int map[22][22];
	int n,m;//B(m,n)
	int x,y;//hourse(x,y)
	cin>>n>>m>>x>>y;
	memset(map,0,sizeof(map));
	
	for(int i=1;i<n;i++) map[0][i]=1;
	for(int j=1;j<m;j++) map[j][0]=1;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			printf("%4d",map[i][j]);
		}
		cout<<endl;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			map[i][j]=map[i-1][j]+map[i][j-1];
			//map[x+1][y+1]=map[x+3][y+2]=map[x+2][y+3]=map[x][y+3]=map[x-1][y+2]=map[x-1][y]=map[x][y-1]=map[x+2][y-1]=map[x+3][y]=map[x+3][y+2];
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			printf("%4d",map[i][j]);
		}
		cout<<endl;
	}*/
	/*for(int i=0;i<22;i++){
		for(int j=0;j<22;j++){
			printf("%2d",map[i][j]);
		}
		cout<<endl;
	}
	map[1][1]=map[1][2]=map[2][1]=1;
	for(int i=0;i<22;i++){
		for(int j=0;j<22;j++){
			printf("%2d",map[i][j]);
		}
		cout<<endl;
	}
	
	for(int i=2;i<22;i++){
		for(int j=2;j<22;j++){
			map[i][j]=map[i-1][j]+map[i][j-1];
			//map[x+1][y+1]=map[x+3][y+2]=map[x+2][y+3]=map[x][y+3]=map[x-1][y+2]=map[x-1][y]=map[x][y-1]=map[x+2][y-1]=map[x+3][y]=map[x+3][y+2];
		}
	}
	
	for(int i=0;i<22;i++){
		for(int j=0;j<22;j++){
			printf("%5d",map[i][j]);
		}
		cout<<endl;
	}
	//cout<<map[m+1][n+1];
	
	*/



